/************************************************************************/
/* Name : Kiwon Yun
/* Partner's name : Eric Rooney
/* File Name : RoundInfo.h
/* The name of assignment : Iteration 2
/************************************************************************/

#ifndef ROUNDINFO_H
#define ROUNDINFO_H

#include "Common.h"

static int MAX_BET_ROUND = 3;

/************************************************************************/
/* RoundInfo class manages information about each round.
/* This class is made for each round again
/************************************************************************/
class Player;
class RoundInfo
{
public:
	RoundInfo(void);
	virtual ~RoundInfo(void);

	/*increment subround */
	bool AddSubRound();
	/*return the current subround */
	int GetSubRound();

	/* Set the current winner*/
	void SetCurWinner( Player* a_pPlayer );
	/* Return the current winner*/
	Player* GetCurWinner();

	/* Set the second winner*/
	void SetCurSecondWinner( Player* a_pPlayer );
	/* Return the second winner*/
	Player* GetCurSecondWinner();

	/* Add a winner if there's a tie*/
	void AddTiedWinnerPlayer( Player* a_pPlayer );
	/* Delete the tied player*/
	void ClearTiedWinnerPlayer();

	/* Return the number of ties*/
	int GetTiedWinnerNumber();
	/* Return the winner who tied*/
	Player* GetTiedWinner( int a_nIndex );

	/* Return true if a player is able to be this subround*/
	bool IsCanBet();

private:
	//Current subround value
	int m_nSubRoundNum;
	/* store the winner*/
	Player* m_pWinner;
	/* Store the second winner*/
	Player* m_pSecondWinner;

	/* Store the winners who have tied*/
	vector <Player*> m_vecTiedWinnerPlayer;

	/* store whether it is appropriate to bet at this time*/
	bool m_bCanBet;
};

#endif
